// 函数:封装了一些重复使用的代码,在需要的时候直接调用即可
;(() => {
  // // 函数声明,命名函数
  // function add(x, y) {
  //   // 求和的函数
  //   return x + y
  // }
  // // 函数表达式,匿名函数
  // const add1 = function (x, y) {
  //   return x + y
  // }

  // Ts中的书写方式
  // 函数声明,命名函数
  // 函数中的x和y参数的类型都是string类型的，小括号后面的：string，代表的是该函数的返回值也是string类型的
  function add(x: number, y: number): number {
    // 求和的函数
    return x + y
  }
  const result: number = add(10, 20)
  // 函数表达式,匿名函数
  const add1 = function (x: number, y: number): number {
    return x + y
  }
  //函数的完整写法
  // (x: number, y: number) => number 当前的这个函数的类型
  // function (x: number,y: number): number {return x + y} 就相当于符合上面这个函数类型的值
  const add2: (x: number, y: number) => number = function (
    x: number,
    y: number
  ): number {
    return x + y
  }
  add2(50, 60)
})()
